package com.lucaswangdev.biz.manager;

import com.lucaswangdev.model.domain.UserParam;
import com.lucaswangdev.model.dto.UserDTO;

import java.util.List;

public interface UserManager {
    /**
     * 创建
     * @param userDTO
     * @return
     */
    Long create(UserDTO userDTO);

    /**
     * 根据条件count
     * @param param
     * @return
     */
    Long countByParam(UserParam param);

    /**
     * 根据条件查询
     * @param param
     * @return
     */
    List<UserDTO> queryByParam(UserParam param);

    /**
     * 更新
     * @param userDTO
     */
    void update(UserDTO userDTO);

    /**
     * 删除
     * @param id
     */
    void deleteById(Long id);

    UserDTO queryById(Long id);
}
